package com.love.marriage.userProfileInfo.service;

import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.love.marriage.userProfileInfo.entity.UserProfileInfo;
import com.love.marriage.userProfileInfo.vo.UserProfileInfoVo;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 用户档案表 服务类
 * author: mybatisPlus
 * createDate: 2024-10-12 21:01:09
 * description: 我是由代码生成器生成
 * version: 1.0.0
 */
public interface UserProfileInfoService extends IService<UserProfileInfo> {

    Page<UserProfileInfoVo> getPage(Long pageNum, Long pageSize, UserProfileInfoVo userProfileInfoVo);

    Page<UserProfileInfoVo> getPageWithMembership(Long pageNum,
                                                  Long pageSize,
                                                  UserProfileInfoVo userProfileInfoVo);

    UserProfileInfoVo queryUserProfileInfo(Long id);

    UserProfileInfoVo queryUserProfileInfoByUserId(Long userId);

    UserProfileInfoVo addUserProfileInfo(UserProfileInfoVo userProfileInfoVo) throws Exception;

    UserProfileInfoVo updateUserProfileInfo(UserProfileInfoVo userProfileInfoVo) throws Exception;

    Boolean deleteUserProfileInfo(String ids);

    WxMaPhoneNumberInfo getPhoneByWechatCode(HttpServletRequest request, String code) throws Exception;

    String concatPhone(HttpServletRequest request, Long userId, String phone, String code, String changePhone) throws Exception;

    String concatPhoneByCode(HttpServletRequest request, Long userId, String code) throws Exception;

    void export(UserProfileInfoVo userProfileInfoVo, HttpServletResponse response) throws Exception;
}
